복습 필요 [Python] 백준 / gold / 9663번 (N-Queen) N * N 모양의 체스 판에, N 개의 퀸을 서로 공격할 수 없는 위치에 배치하는 방법의 개수를 찾는 문제다. 이 문제 덕분에 간만에 코드에 대해 진짜 깊게 고민해본 것 같다. 처음에 답을 제출하고 맞왜틀을 계속 외쳤다.. 틀린 이유는 퀸의 배치는 combination으로 생각해야 하는데, permutation으로 답을 구했기 때문였다. 답은 맞았지만 시간 초과 코드 1 결론부터 말하면, 이... 복습 필요성장 경험코딩테스트복습 필요 [Python] 백준 / gold / 12865 : 평범한 배낭 Knapsack - DP 현재 물건 thing[i] 를 가방에 넣을 수 있다면 넣고, 무게가 오버되서 넣을 수 없다면 넣을 수 있는 무게가 될 때까지 value 가 작은 물건을 pop 한다. 그리고 다음에 들어갈 수 있는 3개의 물건이 C(무게 10, 가치 1000), D(무게 9, 가치 2000), E(무게 8, 가치 3000) 라고 가정한다. 그러면 가방에 들어있는 물건의 무게는 100 ... 복습 필요코딩테스트복습 필요 [Python] 백준 / gold / 1655 : 가운데를 말해요 문제 링크 : 문제 자체는 단순하지만, 풀이는 꽤 어려웠던 문제. 이 문제의 관건은 입력조건 N 이 10^5 라는 거다. O(N^2) 이상의 알고리즘으로는 시간초과가 나게 돼있다. 최대 O(N*logN) 의 코드를 짜야한다. 일단 입력조건을 모두 순회해야 되니까 적어도 O(N) 은 확정이다. 그럼 각각 원소들이 O(log N) 의 시간을 사용해야 된다는건데, 그래서 제일 먼저 떠올린건 이분탐... 코딩테스트복습 필요복습 필요
[Python] 백준 / gold / 9663번 (N-Queen) N * N 모양의 체스 판에, N 개의 퀸을 서로 공격할 수 없는 위치에 배치하는 방법의 개수를 찾는 문제다. 이 문제 덕분에 간만에 코드에 대해 진짜 깊게 고민해본 것 같다. 처음에 답을 제출하고 맞왜틀을 계속 외쳤다.. 틀린 이유는 퀸의 배치는 combination으로 생각해야 하는데, permutation으로 답을 구했기 때문였다. 답은 맞았지만 시간 초과 코드 1 결론부터 말하면, 이... 복습 필요성장 경험코딩테스트복습 필요 [Python] 백준 / gold / 12865 : 평범한 배낭 Knapsack - DP 현재 물건 thing[i] 를 가방에 넣을 수 있다면 넣고, 무게가 오버되서 넣을 수 없다면 넣을 수 있는 무게가 될 때까지 value 가 작은 물건을 pop 한다. 그리고 다음에 들어갈 수 있는 3개의 물건이 C(무게 10, 가치 1000), D(무게 9, 가치 2000), E(무게 8, 가치 3000) 라고 가정한다. 그러면 가방에 들어있는 물건의 무게는 100 ... 복습 필요코딩테스트복습 필요 [Python] 백준 / gold / 1655 : 가운데를 말해요 문제 링크 : 문제 자체는 단순하지만, 풀이는 꽤 어려웠던 문제. 이 문제의 관건은 입력조건 N 이 10^5 라는 거다. O(N^2) 이상의 알고리즘으로는 시간초과가 나게 돼있다. 최대 O(N*logN) 의 코드를 짜야한다. 일단 입력조건을 모두 순회해야 되니까 적어도 O(N) 은 확정이다. 그럼 각각 원소들이 O(log N) 의 시간을 사용해야 된다는건데, 그래서 제일 먼저 떠올린건 이분탐... 코딩테스트복습 필요복습 필요